Skip to content

feat(stovepipe): add project status lookup by request ID - #840

Merged
mnoah1 merged 2 commits into
mainfrom
mnoah1/stovepipe-project-status-by-id
Oct 15, 2026
Merged

mnoah1 merged 2 commits into
mainfrom
mnoah1/stovepipe-project-status-by-id

Conversation

@mnoah1

@mnoah1 mnoah1 commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Why?

We already have a way to look up an individual request by URI. Since we simplified the request ID format, it would also be helpful to have a way to look up a request based on ID. Adjust the existing GetProjectStatusByURI controller to support lookup by request ID, reusing the existing logic mostly as-is and returning an equivalent shape.

What?

Add GetProjectStatusByID with the same status fields and pagination as the URI API. Both endpoints use a shared ProjectStatusController and domain request/result types for validation, durable status reads, and pagination. Preserve the existing URI wire contract and its retryable summary-visibility gap; classify unknown IDs as lookup misses.

Regenerate RPC bindings and update the project-status RFC.

Test Plan

  • Unit tests: ./tool/bazel test //stovepipe/controller:go_default_test //service/stovepipe/server/mapper:go_default_test //service/stovepipe/server/handler:go_default_test --test_output=errors.
  • Docker integration: ./tool/bazel test //test/integration/stovepipe:go_default_test --test_output=errors. Covers equivalent ID/URI responses, pagination across selectors, explicit green results, and queue isolation.
  • Repository checks: make fmt, make lint, make check-tidy, and make check-gazelle.

Issues

@mnoah1
mnoah1 marked this pull request as ready for review October 12, 2026 15:16
@mnoah1
mnoah1 requested review from a team, behinddwalls and sbalabanov as code owners October 12, 2026 15:16
@mnoah1
mnoah1 enabled auto-merge October 12, 2026 15:16
Summary:

`Ingest` returns a request ID, but project status can only be queried by commit URI. Consumers need to inspect that request directly.

Add `GetProjectStatusByID` with the same status fields and pagination as the URI API. Both endpoints use a shared `ProjectStatusController` and domain request/result types for validation, durable status reads, and pagination. Preserve the existing URI wire contract and its retryable summary-visibility gap; classify unknown IDs as lookup misses.

Regenerate RPC bindings and update the project-status RFC.

Test Plan:
- Unit tests: `./tool/bazel test //stovepipe/controller:go_default_test //service/stovepipe/server/mapper:go_default_test //service/stovepipe/server/handler:go_default_test --test_output=errors`.
- Docker integration: `./tool/bazel test //test/integration/stovepipe:go_default_test --test_output=errors`. Covers equivalent ID/URI responses, pagination across selectors, explicit green results, and queue isolation.
- Repository checks: `make fmt`, `make lint`, `make check-tidy`, and `make check-gazelle`.
@mnoah1
mnoah1 force-pushed the mnoah1/stovepipe-project-status-by-id branch from e70605a to 661bc02 Compare October 15, 2026 19:27
@mnoah1
mnoah1 added this pull request to the merge queue Oct 15, 2026
Merged via the queue into main with commit 1b70f66 Oct 15, 2026
21 checks passed
@mnoah1
mnoah1 deleted the mnoah1/stovepipe-project-status-by-id branch October 15, 2026 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants